package com.tiancheng.trade.settlement.service.settlement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tiancheng.trade.commom.core.data.PageInfo;
import com.tiancheng.trade.settlement.model.settlement.SettleSummary;
import com.tiancheng.trade.settlement.vo.settlement.admin.SettleQueryVo;
import com.tiancheng.trade.settlement.vo.settlement.export.SettleExportAllQueryVo;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * * 交易资金对账汇总表service
 *
 * @author likailun
 * @date 2021/3/30
 */
public interface ISettleSummaryService extends IService<SettleSummary> {

    SettleSummary querySettleSummaryOne(SettleQueryVo summaryQueryVo);

    /**
     * 导出商户当天对账结果
     *
     * @param settleQueryVo
     * @return
     */
    void exportByMerchant(SettleQueryVo settleQueryVo, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 根据checkCodes批量更新
     *
     * @param checkCodes List
     * @param dataStatus Integer
     */
    void updateBatch(List<String> checkCodes, Integer dataStatus);

    /**
     * 汇总导出
     *
     * @param settleExportAllQueryVo
     * @return
     */
    void exportAll(SettleExportAllQueryVo settleExportAllQueryVo, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 对账结果列表获取
     *
     * @param settleQueryVo
     * @return
     */
    PageInfo<SettleSummary> listSettleSummary(SettleQueryVo settleQueryVo);
}
